/**
 * 访问者模式
 * 
 * 涉及角色
 * 	抽象访问者：抽象类或者接口，声明访问者可以访问哪些元素
 * 	访问者：实现抽象访问者所声明的方法，它影响到访问者访问到一个类后该干什么，要做什么事情
 * 	抽象元素类：接口或者抽象类，声明接受哪一类访问者访问，程序上是通过accept方法中的参数来定义的。
 * 	元素类：实现抽象元素类所声明的accept方法，通常都是visitor.visit(this)，基本上已经形成一种定式了
 * 	结构对象：一个元素的容器
 * 
 * @author linxm
 *
 */
package me.hellp.helloworld.design.visitor;